package com.itheima.demo;

import java.util.Random;
import java.util.Scanner;

public class Test3_04 {
    public static void main(String[] args) {
        // 目标：数组的随机排名。
        // 1、创建一个整型数组存储5名员工的工号
        int[] codes = new int[5];
        // codes = [0, 0, 0, 0, 0]
        //          0  1  2  3  4

        // 2、先录入工号
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < codes.length; i++) {
            System.out.println("请您输入第" + (i + 1) + "名员工的工号：");
            codes[i] = sc.nextInt();
        }

        // 3、打乱工号的顺序。
        // codes = [13, 22, 35, 16, 99]
        //          0   1   2   3   4
        //          i           j
        Random r = new Random();
        for (int i = 0; i < codes.length; i++) {
            // 遍历的位置：codes[i]
            // 4、随机一个位置：codes[j]
            int j = r.nextInt(codes.length); // 0 - 4的索引
            // 5、让当前位置i和随机位置j处的值进行交换。
            // 6、定义临时变量存储j位置处的值
            int temp = codes[j];
            // 7、把i位置处的值给到j位置处
            codes[j] = codes[i];
            // 8、把j位置处原来的值（临时变量存的）赋值给i位置处
            codes[i] = temp;
        }

        // 9、最后输出数组内容就是打乱顺序后的结果
        for (int i = 0; i < codes.length; i++) {
            System.out.print(codes[i] + " ");
        }
    }
}
